<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FabGL: canvas.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">FabGL
   </div>
   <div id="projectbrief">ESP32 Display Controller and Graphics Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('canvas_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">canvas.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="canvas_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">  Created by Fabrizio Di Vittorio (fdivitto2013@gmail.com) - &lt;http://www.fabgl.com&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">  Copyright (c) 2019-2021 Fabrizio Di Vittorio.</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">  All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">* Please contact fdivitto2013@gmail.com if you need a commercial license.</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">* This library and related software is available under GPL v3.</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">  FabGL is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">  it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">  the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">  (at your option) any later version.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">  FabGL is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">  but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">  GNU General Public License for more details.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">  You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">  along with FabGL.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="displaycontroller_8h.html">displaycontroller.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacefabgl.html">fabgl</a> {</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classfabgl_1_1_canvas.html">   70</a></span>&#160;<span class="keyword">class </span><a class="code" href="classfabgl_1_1_canvas.html">Canvas</a> {</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classfabgl_1_1_canvas.html">Canvas</a>(<a class="code" href="classfabgl_1_1_bitmapped_display_controller.html">BitmappedDisplayController</a> * displayController);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classfabgl_1_1_canvas_a67a0997183f24da19b776d96c1052998.html#a67a0997183f24da19b776d96c1052998">   83</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classfabgl_1_1_canvas_a67a0997183f24da19b776d96c1052998.html#a67a0997183f24da19b776d96c1052998">getWidth</a>() { <span class="keywordflow">return</span> m_displayController-&gt;<a class="code" href="classfabgl_1_1_bitmapped_display_controller_a9274060e33708f97a1d77ca37f7bf0a8.html#a9274060e33708f97a1d77ca37f7bf0a8">getViewPortWidth</a>(); }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classfabgl_1_1_canvas_a07efb2a4e9a982688c8bb3c3f21d1092.html#a07efb2a4e9a982688c8bb3c3f21d1092">   92</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classfabgl_1_1_canvas_a07efb2a4e9a982688c8bb3c3f21d1092.html#a07efb2a4e9a982688c8bb3c3f21d1092">getHeight</a>() { <span class="keywordflow">return</span> m_displayController-&gt;<a class="code" href="classfabgl_1_1_bitmapped_display_controller_ada5f99a696a06cbd96b2b86d1e78878a.html#ada5f99a696a06cbd96b2b86d1e78878a">getViewPortHeight</a>(); }</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a0b366edca7302c95aa628529545453ea.html#a0b366edca7302c95aa628529545453ea">waitCompletion</a>(<span class="keywordtype">bool</span> waitVSync = <span class="keyword">true</span>);</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_afb0580e2870f3afd9ae1b1300b1c8e9a.html#afb0580e2870f3afd9ae1b1300b1c8e9a">beginUpdate</a>();</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ae75638d96ce77bea32eb76333b76cbc5.html#ae75638d96ce77bea32eb76333b76cbc5">endUpdate</a>();</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a31a9db7752f187501af260615027c5bd.html#a31a9db7752f187501af260615027c5bd">swapBuffers</a>();</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a3ec8e84f102c8ca95207a531d803b945.html#a3ec8e84f102c8ca95207a531d803b945">setOrigin</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a3ec8e84f102c8ca95207a531d803b945.html#a3ec8e84f102c8ca95207a531d803b945">setOrigin</a>(<a class="code" href="structfabgl_1_1_point.html">Point</a> <span class="keyword">const</span> &amp; origin);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classfabgl_1_1_canvas_a96a5b38870af14b17892861338f5d069.html#a96a5b38870af14b17892861338f5d069">  146</a></span>&#160;  <a class="code" href="structfabgl_1_1_point.html">Point</a> <a class="code" href="classfabgl_1_1_canvas_a96a5b38870af14b17892861338f5d069.html#a96a5b38870af14b17892861338f5d069">getOrigin</a>() { <span class="keywordflow">return</span> m_origin; }</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a4163959b5395aa1394961e619bea51e4.html#a4163959b5395aa1394961e619bea51e4">setClippingRect</a>(<a class="code" href="structfabgl_1_1_rect.html">Rect</a> <span class="keyword">const</span> &amp; rect);</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <a class="code" href="structfabgl_1_1_rect.html">Rect</a> <a class="code" href="classfabgl_1_1_canvas_a5b076ed14a6564a14dbd347cfce3a4e7.html#a5b076ed14a6564a14dbd347cfce3a4e7">getClippingRect</a>();</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ac8bb3912a3ce86b15842e79d0b421204.html#ac8bb3912a3ce86b15842e79d0b421204">clear</a>();</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ad20897c5c8bd47f5d4005989bead0e55.html#ad20897c5c8bd47f5d4005989bead0e55">reset</a>();</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a0c8606755ffb5321f7bfc7e5867d605f.html#a0c8606755ffb5321f7bfc7e5867d605f">setScrollingRegion</a>(<span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed.html#a0dd601bb81c34d0e0e1c71e445d8c9ed">X1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266.html#aefe36b84395404eaeb2fb7bc8dfa9266">Y1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aacc253365e856de8781b525223af3c52.html#aacc253365e856de8781b525223af3c52">X2</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07.html#a3e43b2629ffdaba77fe72f8f70818f07">Y2</a>);</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_adf5beb564841faac78a85c72ba79d845.html#adf5beb564841faac78a85c72ba79d845">scroll</a>(<span class="keywordtype">int</span> offsetX, <span class="keywordtype">int</span> offsetY);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ade8b482e1c154cafa15e6cce34cf4bd7.html#ade8b482e1c154cafa15e6cce34cf4bd7">moveTo</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ac130486f79bd6cefa1bd8f33c5e5cbed.html#ac130486f79bd6cefa1bd8f33c5e5cbed">setPenColor</a>(uint8_t red, uint8_t green, uint8_t blue);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ac130486f79bd6cefa1bd8f33c5e5cbed.html#ac130486f79bd6cefa1bd8f33c5e5cbed">setPenColor</a>(<a class="code" href="group___enumerations_gab87bacfdad76e61b9412d7124be44c1c.html#gab87bacfdad76e61b9412d7124be44c1c">Color</a> color);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ac130486f79bd6cefa1bd8f33c5e5cbed.html#ac130486f79bd6cefa1bd8f33c5e5cbed">setPenColor</a>(<a class="code" href="structfabgl_1_1_r_g_b888.html">RGB888</a> <span class="keyword">const</span> &amp; color);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a833ec1b3a2cf47aa9fbf862b2136f2a2.html#a833ec1b3a2cf47aa9fbf862b2136f2a2">setBrushColor</a>(uint8_t red, uint8_t green, uint8_t blue);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a833ec1b3a2cf47aa9fbf862b2136f2a2.html#a833ec1b3a2cf47aa9fbf862b2136f2a2">setBrushColor</a>(<a class="code" href="group___enumerations_gab87bacfdad76e61b9412d7124be44c1c.html#gab87bacfdad76e61b9412d7124be44c1c">Color</a> color);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a833ec1b3a2cf47aa9fbf862b2136f2a2.html#a833ec1b3a2cf47aa9fbf862b2136f2a2">setBrushColor</a>(<a class="code" href="structfabgl_1_1_r_g_b888.html">RGB888</a> <span class="keyword">const</span> &amp; color);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a43079b89e73581496cdf7623d1fb48c2.html#a43079b89e73581496cdf7623d1fb48c2">setPenWidth</a>(<span class="keywordtype">int</span> value);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_af9e6a083d810f5ac805cd6ae8e077756.html#af9e6a083d810f5ac805cd6ae8e077756">setLineEnds</a>(<a class="code" href="group___enumerations_ga8ac9813c9c9df8a1e7f6ec66b346f08e.html#ga8ac9813c9c9df8a1e7f6ec66b346f08e">LineEnds</a> value);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a3192f783a37fbc936429e81e829ac61e.html#a3192f783a37fbc936429e81e829ac61e">setPixel</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>);</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a3192f783a37fbc936429e81e829ac61e.html#a3192f783a37fbc936429e81e829ac61e">setPixel</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <a class="code" href="structfabgl_1_1_r_g_b888.html">RGB888</a> <span class="keyword">const</span> &amp; color);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a3192f783a37fbc936429e81e829ac61e.html#a3192f783a37fbc936429e81e829ac61e">setPixel</a>(<a class="code" href="structfabgl_1_1_point.html">Point</a> <span class="keyword">const</span> &amp; pos, <a class="code" href="structfabgl_1_1_r_g_b888.html">RGB888</a> <span class="keyword">const</span> &amp; color);</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_adda0fd465e10de29bbb2a9268999b75c.html#adda0fd465e10de29bbb2a9268999b75c">lineTo</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ab2ef33259e2223e00963fa402c02b064.html#ab2ef33259e2223e00963fa402c02b064">drawLine</a>(<span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed.html#a0dd601bb81c34d0e0e1c71e445d8c9ed">X1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266.html#aefe36b84395404eaeb2fb7bc8dfa9266">Y1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aacc253365e856de8781b525223af3c52.html#aacc253365e856de8781b525223af3c52">X2</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07.html#a3e43b2629ffdaba77fe72f8f70818f07">Y2</a>);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a51745433bb792141ee5e66e9ff5a87e9.html#a51745433bb792141ee5e66e9ff5a87e9">drawRectangle</a>(<span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed.html#a0dd601bb81c34d0e0e1c71e445d8c9ed">X1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266.html#aefe36b84395404eaeb2fb7bc8dfa9266">Y1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aacc253365e856de8781b525223af3c52.html#aacc253365e856de8781b525223af3c52">X2</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07.html#a3e43b2629ffdaba77fe72f8f70818f07">Y2</a>);</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a51745433bb792141ee5e66e9ff5a87e9.html#a51745433bb792141ee5e66e9ff5a87e9">drawRectangle</a>(<a class="code" href="structfabgl_1_1_rect.html">Rect</a> <span class="keyword">const</span> &amp; rect);</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a02a657b4391aa25216ff993a0569a3c5.html#a02a657b4391aa25216ff993a0569a3c5">fillRectangle</a>(<span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed.html#a0dd601bb81c34d0e0e1c71e445d8c9ed">X1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266.html#aefe36b84395404eaeb2fb7bc8dfa9266">Y1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aacc253365e856de8781b525223af3c52.html#aacc253365e856de8781b525223af3c52">X2</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07.html#a3e43b2629ffdaba77fe72f8f70818f07">Y2</a>);</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a02a657b4391aa25216ff993a0569a3c5.html#a02a657b4391aa25216ff993a0569a3c5">fillRectangle</a>(<a class="code" href="structfabgl_1_1_rect.html">Rect</a> <span class="keyword">const</span> &amp; rect);</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_aa3c3450751dc207a03b0f7f7704964ce.html#aa3c3450751dc207a03b0f7f7704964ce">invertRectangle</a>(<span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed.html#a0dd601bb81c34d0e0e1c71e445d8c9ed">X1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266.html#aefe36b84395404eaeb2fb7bc8dfa9266">Y1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aacc253365e856de8781b525223af3c52.html#aacc253365e856de8781b525223af3c52">X2</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07.html#a3e43b2629ffdaba77fe72f8f70818f07">Y2</a>);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_aa3c3450751dc207a03b0f7f7704964ce.html#aa3c3450751dc207a03b0f7f7704964ce">invertRectangle</a>(<a class="code" href="structfabgl_1_1_rect.html">Rect</a> <span class="keyword">const</span> &amp; rect);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a213a1f95153dba2e00962ff0ca27aaf3.html#a213a1f95153dba2e00962ff0ca27aaf3">swapRectangle</a>(<span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed.html#a0dd601bb81c34d0e0e1c71e445d8c9ed">X1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266.html#aefe36b84395404eaeb2fb7bc8dfa9266">Y1</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_aacc253365e856de8781b525223af3c52.html#aacc253365e856de8781b525223af3c52">X2</a>, <span class="keywordtype">int</span> <a class="code" href="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07.html#a3e43b2629ffdaba77fe72f8f70818f07">Y2</a>);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a37ccab1d5906bc2facb56457e89ee0bc.html#a37ccab1d5906bc2facb56457e89ee0bc">drawEllipse</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_a09a2a45f731b02946ff6d3cd15c1a476.html#a09a2a45f731b02946ff6d3cd15c1a476">width</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_adcf201a8aabf55cb352ec05331242594.html#adcf201a8aabf55cb352ec05331242594">height</a>);</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a8180e12aa8ac1265fa642959d1e4ffd2.html#a8180e12aa8ac1265fa642959d1e4ffd2">fillEllipse</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_a09a2a45f731b02946ff6d3cd15c1a476.html#a09a2a45f731b02946ff6d3cd15c1a476">width</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_adcf201a8aabf55cb352ec05331242594.html#adcf201a8aabf55cb352ec05331242594">height</a>);</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a52cf5628da66f95d0ef2448bdfedf259.html#a52cf5628da66f95d0ef2448bdfedf259">drawGlyph</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_a09a2a45f731b02946ff6d3cd15c1a476.html#a09a2a45f731b02946ff6d3cd15c1a476">width</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_adcf201a8aabf55cb352ec05331242594.html#adcf201a8aabf55cb352ec05331242594">height</a>, uint8_t <span class="keyword">const</span> * <a class="code" href="displaycontroller_8h_a96db82e580e46e24e2b39dd6c5bf7c21.html#a96db82e580e46e24e2b39dd6c5bf7c21">data</a>, <span class="keywordtype">int</span> index = 0);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_adfb8897a6be8008318aa02ab10f407f5.html#adfb8897a6be8008318aa02ab10f407f5">setGlyphOptions</a>(<a class="code" href="unionfabgl_1_1_glyph_options.html">GlyphOptions</a> options);</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ad20d1b20527338e032925d68bda2d517.html#ad20d1b20527338e032925d68bda2d517">resetGlyphOptions</a>();</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;  <span class="keywordtype">void</span> renderGlyphsBuffer(<span class="keywordtype">int</span> itemX, <span class="keywordtype">int</span> itemY, GlyphsBuffer <span class="keyword">const</span> * glyphsBuffer);</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a3baa6299618be4d828b473893b50a9f1.html#a3baa6299618be4d828b473893b50a9f1">setPaintOptions</a>(<a class="code" href="structfabgl_1_1_paint_options.html">PaintOptions</a> options);</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_acabff55d9d5166f90791a200ca929a1c.html#acabff55d9d5166f90791a200ca929a1c">resetPaintOptions</a>();</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;</div><div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="classfabgl_1_1_canvas_af6b9db28d9520b5fa9f41efad16ffd7c.html#af6b9db28d9520b5fa9f41efad16ffd7c">  583</a></span>&#160;  FontInfo <span class="keyword">const</span> * <a class="code" href="classfabgl_1_1_canvas_af6b9db28d9520b5fa9f41efad16ffd7c.html#af6b9db28d9520b5fa9f41efad16ffd7c">getFontInfo</a>() { <span class="keywordflow">return</span> m_fontInfo; }</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_aed37132c2af1db5b21e26ed664d0c758.html#aed37132c2af1db5b21e26ed664d0c758">selectFont</a>(FontInfo <span class="keyword">const</span> * fontInfo);</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ace0e4720eb75f05b029c455982653ed2.html#ace0e4720eb75f05b029c455982653ed2">drawChar</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keywordtype">char</span> c);</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ad38389073d9198667e74e79bb7f6dba3.html#ad38389073d9198667e74e79bb7f6dba3">drawText</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keywordtype">char</span> <span class="keyword">const</span> * text, <span class="keywordtype">bool</span> wrap = <span class="keyword">false</span>);</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_ad38389073d9198667e74e79bb7f6dba3.html#ad38389073d9198667e74e79bb7f6dba3">drawText</a>(FontInfo <span class="keyword">const</span> * fontInfo, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keywordtype">char</span> <span class="keyword">const</span> * text, <span class="keywordtype">bool</span> wrap = <span class="keyword">false</span>);</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a160b74fb568b7c9ee88db25098f7442d.html#a160b74fb568b7c9ee88db25098f7442d">drawTextWithEllipsis</a>(FontInfo <span class="keyword">const</span> * fontInfo, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keywordtype">char</span> <span class="keyword">const</span> * text, <span class="keywordtype">int</span> maxX);</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classfabgl_1_1_canvas_a982dd49e90e0e7ac03bc9358d0ebf589.html#a982dd49e90e0e7ac03bc9358d0ebf589">textExtent</a>(FontInfo <span class="keyword">const</span> * fontInfo, <span class="keywordtype">char</span> <span class="keyword">const</span> * text);</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classfabgl_1_1_canvas_a982dd49e90e0e7ac03bc9358d0ebf589.html#a982dd49e90e0e7ac03bc9358d0ebf589">textExtent</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * text);</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_adac3e826c16a5abcc9a878b89afb8d86.html#adac3e826c16a5abcc9a878b89afb8d86">drawTextFmt</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...);</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a2feb78875ca185cbdfd65987f380ef15.html#a2feb78875ca185cbdfd65987f380ef15">copyRect</a>(<span class="keywordtype">int</span> sourceX, <span class="keywordtype">int</span> sourceY, <span class="keywordtype">int</span> destX, <span class="keywordtype">int</span> destY, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_a09a2a45f731b02946ff6d3cd15c1a476.html#a09a2a45f731b02946ff6d3cd15c1a476">width</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_adcf201a8aabf55cb352ec05331242594.html#adcf201a8aabf55cb352ec05331242594">height</a>);</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a3447e9b59b69ead99cf3735e1bd18c02.html#a3447e9b59b69ead99cf3735e1bd18c02">drawBitmap</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>, <a class="code" href="structfabgl_1_1_bitmap.html">Bitmap</a> <span class="keyword">const</span> * bitmap);</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_a7a927cc681ff0c452115e08196dd17c5.html#a7a927cc681ff0c452115e08196dd17c5">drawPath</a>(<a class="code" href="structfabgl_1_1_point.html">Point</a> <span class="keyword">const</span> * points, <span class="keywordtype">int</span> pointsCount);</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classfabgl_1_1_canvas_af4ac807c623677aa49e67f413e1e6e23.html#af4ac807c623677aa49e67f413e1e6e23">fillPath</a>(<a class="code" href="structfabgl_1_1_point.html">Point</a> <span class="keyword">const</span> * points, <span class="keywordtype">int</span> pointsCount);</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;  <a class="code" href="structfabgl_1_1_r_g_b888.html">RGB888</a> <a class="code" href="classfabgl_1_1_canvas_aa74ddfd1e6c73270086397d907057be3.html#aa74ddfd1e6c73270086397d907057be3">getPixel</a>(<span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, <span class="keywordtype">int</span> <a class="code" href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>);</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;  <a class="code" href="classfabgl_1_1_bitmapped_display_controller.html">BitmappedDisplayController</a> * m_displayController;</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;  FontInfo <span class="keyword">const</span> *    m_fontInfo;</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;  uint8_t             m_textHorizRate; <span class="comment">// specify character size: 1 = m_fontInfo.width, 2 = m_fontInfo.width * 2, etc...</span></div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;  <a class="code" href="structfabgl_1_1_point.html">Point</a>               m_origin;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;  <a class="code" href="structfabgl_1_1_rect.html">Rect</a>                m_clippingRect;</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;};</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;} <span class="comment">// end of namespace</span></div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;</div><div class="ttc" id="fabutils_8h_aacc253365e856de8781b525223af3c52_html_aacc253365e856de8781b525223af3c52"><div class="ttname"><a href="fabutils_8h_aacc253365e856de8781b525223af3c52.html#aacc253365e856de8781b525223af3c52">X2</a></div><div class="ttdeci">int16_t X2</div><div class="ttdef"><b>Definition:</b> <a href="fabutils_8h_source.html#l00179">fabutils.h:179</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a982dd49e90e0e7ac03bc9358d0ebf589_html_a982dd49e90e0e7ac03bc9358d0ebf589"><div class="ttname"><a href="classfabgl_1_1_canvas_a982dd49e90e0e7ac03bc9358d0ebf589.html#a982dd49e90e0e7ac03bc9358d0ebf589">fabgl::Canvas::textExtent</a></div><div class="ttdeci">int textExtent(FontInfo const *fontInfo, char const *text)</div><div class="ttdoc">Calculates text extension in pixels. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00453">canvas.cpp:453</a></div></div>
<div class="ttc" id="structfabgl_1_1_r_g_b888_html"><div class="ttname"><a href="structfabgl_1_1_r_g_b888.html">fabgl::RGB888</a></div><div class="ttdoc">Represents a 24 bit RGB color. </div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00228">displaycontroller.h:228</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_html"><div class="ttname"><a href="classfabgl_1_1_canvas.html">fabgl::Canvas</a></div><div class="ttdoc">A class with a set of drawing methods. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8h_source.html#l00070">canvas.h:70</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a31a9db7752f187501af260615027c5bd_html_a31a9db7752f187501af260615027c5bd"><div class="ttname"><a href="classfabgl_1_1_canvas_a31a9db7752f187501af260615027c5bd.html#a31a9db7752f187501af260615027c5bd">fabgl::Canvas::swapBuffers</a></div><div class="ttdeci">void swapBuffers()</div><div class="ttdoc">Swaps screen buffer when double buffering is enabled. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00511">canvas.cpp:511</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a07efb2a4e9a982688c8bb3c3f21d1092_html_a07efb2a4e9a982688c8bb3c3f21d1092"><div class="ttname"><a href="classfabgl_1_1_canvas_a07efb2a4e9a982688c8bb3c3f21d1092.html#a07efb2a4e9a982688c8bb3c3f21d1092">fabgl::Canvas::getHeight</a></div><div class="ttdeci">int getHeight()</div><div class="ttdoc">Determines the canvas height in pixels. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8h_source.html#l00092">canvas.h:92</a></div></div>
<div class="ttc" id="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07_html_a3e43b2629ffdaba77fe72f8f70818f07"><div class="ttname"><a href="fabutils_8h_a3e43b2629ffdaba77fe72f8f70818f07.html#a3e43b2629ffdaba77fe72f8f70818f07">Y2</a></div><div class="ttdeci">int16_t Y2</div><div class="ttdef"><b>Definition:</b> <a href="fabutils_8h_source.html#l00180">fabutils.h:180</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ad20897c5c8bd47f5d4005989bead0e55_html_ad20897c5c8bd47f5d4005989bead0e55"><div class="ttname"><a href="classfabgl_1_1_canvas_ad20897c5c8bd47f5d4005989bead0e55.html#ad20897c5c8bd47f5d4005989bead0e55">fabgl::Canvas::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">Resets paint state and other display controller settings. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00118">canvas.cpp:118</a></div></div>
<div class="ttc" id="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266_html_aefe36b84395404eaeb2fb7bc8dfa9266"><div class="ttname"><a href="fabutils_8h_aefe36b84395404eaeb2fb7bc8dfa9266.html#aefe36b84395404eaeb2fb7bc8dfa9266">Y1</a></div><div class="ttdeci">int16_t Y1</div><div class="ttdef"><b>Definition:</b> <a href="fabutils_8h_source.html#l00178">fabutils.h:178</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_adac3e826c16a5abcc9a878b89afb8d86_html_adac3e826c16a5abcc9a878b89afb8d86"><div class="ttname"><a href="classfabgl_1_1_canvas_adac3e826c16a5abcc9a878b89afb8d86.html#adac3e826c16a5abcc9a878b89afb8d86">fabgl::Canvas::drawTextFmt</a></div><div class="ttdeci">void drawTextFmt(int X, int Y, const char *format,...)</div><div class="ttdoc">Draws formatted text at specified position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00474">canvas.cpp:474</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_adf5beb564841faac78a85c72ba79d845_html_adf5beb564841faac78a85c72ba79d845"><div class="ttname"><a href="classfabgl_1_1_canvas_adf5beb564841faac78a85c72ba79d845.html#adf5beb564841faac78a85c72ba79d845">fabgl::Canvas::scroll</a></div><div class="ttdeci">void scroll(int offsetX, int offsetY)</div><div class="ttdoc">Scrolls pixels horizontally and/or vertically. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00129">canvas.cpp:129</a></div></div>
<div class="ttc" id="displaycontroller_8h_abe4637362df8e341470401813999dd17_html_abe4637362df8e341470401813999dd17"><div class="ttname"><a href="displaycontroller_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a></div><div class="ttdeci">int16_t Y</div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00321">displaycontroller.h:321</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_aed37132c2af1db5b21e26ed664d0c758_html_aed37132c2af1db5b21e26ed664d0c758"><div class="ttname"><a href="classfabgl_1_1_canvas_aed37132c2af1db5b21e26ed664d0c758.html#aed37132c2af1db5b21e26ed664d0c758">fabgl::Canvas::selectFont</a></div><div class="ttdeci">void selectFont(FontInfo const *fontInfo)</div><div class="ttdoc">Selects a font to use for the next text drawings. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00389">canvas.cpp:389</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ad20d1b20527338e032925d68bda2d517_html_ad20d1b20527338e032925d68bda2d517"><div class="ttname"><a href="classfabgl_1_1_canvas_ad20d1b20527338e032925d68bda2d517.html#ad20d1b20527338e032925d68bda2d517">fabgl::Canvas::resetGlyphOptions</a></div><div class="ttdeci">void resetGlyphOptions()</div><div class="ttdoc">Resets glyph options. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00368">canvas.cpp:368</a></div></div>
<div class="ttc" id="displaycontroller_8h_html"><div class="ttname"><a href="displaycontroller_8h.html">displaycontroller.h</a></div><div class="ttdoc">This file contains fabgl::BitmappedDisplayController definition. </div></div>
<div class="ttc" id="displaycontroller_8h_a96db82e580e46e24e2b39dd6c5bf7c21_html_a96db82e580e46e24e2b39dd6c5bf7c21"><div class="ttname"><a href="displaycontroller_8h_a96db82e580e46e24e2b39dd6c5bf7c21.html#a96db82e580e46e24e2b39dd6c5bf7c21">data</a></div><div class="ttdeci">uint8_t const  * data</div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00324">displaycontroller.h:324</a></div></div>
<div class="ttc" id="group___enumerations_gab87bacfdad76e61b9412d7124be44c1c_html_gab87bacfdad76e61b9412d7124be44c1c"><div class="ttname"><a href="group___enumerations_gab87bacfdad76e61b9412d7124be44c1c.html#gab87bacfdad76e61b9412d7124be44c1c">fabgl::Color</a></div><div class="ttdeci">Color</div><div class="ttdoc">This enum defines named colors. </div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00202">displaycontroller.h:202</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_aa74ddfd1e6c73270086397d907057be3_html_aa74ddfd1e6c73270086397d907057be3"><div class="ttname"><a href="classfabgl_1_1_canvas_aa74ddfd1e6c73270086397d907057be3.html#aa74ddfd1e6c73270086397d907057be3">fabgl::Canvas::getPixel</a></div><div class="ttdeci">RGB888 getPixel(int X, int Y)</div><div class="ttdoc">Reads the pixel at specified position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00543">canvas.cpp:543</a></div></div>
<div class="ttc" id="classfabgl_1_1_bitmapped_display_controller_html"><div class="ttname"><a href="classfabgl_1_1_bitmapped_display_controller.html">fabgl::BitmappedDisplayController</a></div><div class="ttdoc">Represents the base abstract class for bitmapped display controllers. </div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00730">displaycontroller.h:730</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a5b076ed14a6564a14dbd347cfce3a4e7_html_a5b076ed14a6564a14dbd347cfce3a4e7"><div class="ttname"><a href="classfabgl_1_1_canvas_a5b076ed14a6564a14dbd347cfce3a4e7.html#a5b076ed14a6564a14dbd347cfce3a4e7">fabgl::Canvas::getClippingRect</a></div><div class="ttdeci">Rect getClippingRect()</div><div class="ttdoc">Gets last clipping rectangle set using setClippingRect(). </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00076">canvas.cpp:76</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a67a0997183f24da19b776d96c1052998_html_a67a0997183f24da19b776d96c1052998"><div class="ttname"><a href="classfabgl_1_1_canvas_a67a0997183f24da19b776d96c1052998.html#a67a0997183f24da19b776d96c1052998">fabgl::Canvas::getWidth</a></div><div class="ttdeci">int getWidth()</div><div class="ttdoc">Determines the canvas width in pixels. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8h_source.html#l00083">canvas.h:83</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a3baa6299618be4d828b473893b50a9f1_html_a3baa6299618be4d828b473893b50a9f1"><div class="ttname"><a href="classfabgl_1_1_canvas_a3baa6299618be4d828b473893b50a9f1.html#a3baa6299618be4d828b473893b50a9f1">fabgl::Canvas::setPaintOptions</a></div><div class="ttdeci">void setPaintOptions(PaintOptions options)</div><div class="ttdoc">Sets paint options. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00374">canvas.cpp:374</a></div></div>
<div class="ttc" id="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed_html_a0dd601bb81c34d0e0e1c71e445d8c9ed"><div class="ttname"><a href="fabutils_8h_a0dd601bb81c34d0e0e1c71e445d8c9ed.html#a0dd601bb81c34d0e0e1c71e445d8c9ed">X1</a></div><div class="ttdeci">int16_t X1</div><div class="ttdef"><b>Definition:</b> <a href="fabutils_8h_source.html#l00177">fabutils.h:177</a></div></div>
<div class="ttc" id="group___enumerations_ga8ac9813c9c9df8a1e7f6ec66b346f08e_html_ga8ac9813c9c9df8a1e7f6ec66b346f08e"><div class="ttname"><a href="group___enumerations_ga8ac9813c9c9df8a1e7f6ec66b346f08e.html#ga8ac9813c9c9df8a1e7f6ec66b346f08e">fabgl::LineEnds</a></div><div class="ttdeci">LineEnds</div><div class="ttdoc">This enum defines line ends when pen width is greater than 1. </div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00456">displaycontroller.h:456</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a8180e12aa8ac1265fa642959d1e4ffd2_html_a8180e12aa8ac1265fa642959d1e4ffd2"><div class="ttname"><a href="classfabgl_1_1_canvas_a8180e12aa8ac1265fa642959d1e4ffd2.html#a8180e12aa8ac1265fa642959d1e4ffd2">fabgl::Canvas::fillEllipse</a></div><div class="ttdeci">void fillEllipse(int X, int Y, int width, int height)</div><div class="ttdoc">Fills an ellipse specifying center and size, using current brush color. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00320">canvas.cpp:320</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a213a1f95153dba2e00962ff0ca27aaf3_html_a213a1f95153dba2e00962ff0ca27aaf3"><div class="ttname"><a href="classfabgl_1_1_canvas_a213a1f95153dba2e00962ff0ca27aaf3.html#a213a1f95153dba2e00962ff0ca27aaf3">fabgl::Canvas::swapRectangle</a></div><div class="ttdeci">void swapRectangle(int X1, int Y1, int X2, int Y2)</div><div class="ttdoc">Swaps pen and brush colors of the specified rectangle. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00311">canvas.cpp:311</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a833ec1b3a2cf47aa9fbf862b2136f2a2_html_a833ec1b3a2cf47aa9fbf862b2136f2a2"><div class="ttname"><a href="classfabgl_1_1_canvas_a833ec1b3a2cf47aa9fbf862b2136f2a2.html#a833ec1b3a2cf47aa9fbf862b2136f2a2">fabgl::Canvas::setBrushColor</a></div><div class="ttdeci">void setBrushColor(uint8_t red, uint8_t green, uint8_t blue)</div><div class="ttdoc">Sets brush (background) color specifying color components. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00214">canvas.cpp:214</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a4163959b5395aa1394961e619bea51e4_html_a4163959b5395aa1394961e619bea51e4"><div class="ttname"><a href="classfabgl_1_1_canvas_a4163959b5395aa1394961e619bea51e4.html#a4163959b5395aa1394961e619bea51e4">fabgl::Canvas::setClippingRect</a></div><div class="ttdeci">void setClippingRect(Rect const &amp;rect)</div><div class="ttdoc">Sets clipping rectangle relative to the origin. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00067">canvas.cpp:67</a></div></div>
<div class="ttc" id="classfabgl_1_1_bitmapped_display_controller_a9274060e33708f97a1d77ca37f7bf0a8_html_a9274060e33708f97a1d77ca37f7bf0a8"><div class="ttname"><a href="classfabgl_1_1_bitmapped_display_controller_a9274060e33708f97a1d77ca37f7bf0a8.html#a9274060e33708f97a1d77ca37f7bf0a8">fabgl::BitmappedDisplayController::getViewPortWidth</a></div><div class="ttdeci">virtual int getViewPortWidth()=0</div><div class="ttdoc">Determines horizontal size of the viewport. </div></div>
<div class="ttc" id="classfabgl_1_1_bitmapped_display_controller_ada5f99a696a06cbd96b2b86d1e78878a_html_ada5f99a696a06cbd96b2b86d1e78878a"><div class="ttname"><a href="classfabgl_1_1_bitmapped_display_controller_ada5f99a696a06cbd96b2b86d1e78878a.html#ada5f99a696a06cbd96b2b86d1e78878a">fabgl::BitmappedDisplayController::getViewPortHeight</a></div><div class="ttdeci">virtual int getViewPortHeight()=0</div><div class="ttdoc">Determines vertical size of the viewport. </div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a0b366edca7302c95aa628529545453ea_html_a0b366edca7302c95aa628529545453ea"><div class="ttname"><a href="classfabgl_1_1_canvas_a0b366edca7302c95aa628529545453ea.html#a0b366edca7302c95aa628529545453ea">fabgl::Canvas::waitCompletion</a></div><div class="ttdeci">void waitCompletion(bool waitVSync=true)</div><div class="ttdoc">Waits for drawing queue to become empty. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00084">canvas.cpp:84</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ae75638d96ce77bea32eb76333b76cbc5_html_ae75638d96ce77bea32eb76333b76cbc5"><div class="ttname"><a href="classfabgl_1_1_canvas_ae75638d96ce77bea32eb76333b76cbc5.html#ae75638d96ce77bea32eb76333b76cbc5">fabgl::Canvas::endUpdate</a></div><div class="ttdeci">void endUpdate()</div><div class="ttdoc">Resumes drawings after beginUpdate(). </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00103">canvas.cpp:103</a></div></div>
<div class="ttc" id="structfabgl_1_1_point_html"><div class="ttname"><a href="structfabgl_1_1_point.html">fabgl::Point</a></div><div class="ttdoc">Represents the coordinate of a point. </div><div class="ttdef"><b>Definition:</b> <a href="fabutils_8h_source.html#l00190">fabutils.h:190</a></div></div>
<div class="ttc" id="structfabgl_1_1_bitmap_html"><div class="ttname"><a href="structfabgl_1_1_bitmap.html">fabgl::Bitmap</a></div><div class="ttdoc">Represents an image. </div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00465">displaycontroller.h:465</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a02a657b4391aa25216ff993a0569a3c5_html_a02a657b4391aa25216ff993a0569a3c5"><div class="ttname"><a href="classfabgl_1_1_canvas_a02a657b4391aa25216ff993a0569a3c5.html#a02a657b4391aa25216ff993a0569a3c5">fabgl::Canvas::fillRectangle</a></div><div class="ttdeci">void fillRectangle(int X1, int Y1, int X2, int Y2)</div><div class="ttdoc">Fills a rectangle using the current brush color. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00278">canvas.cpp:278</a></div></div>
<div class="ttc" id="namespacefabgl_html"><div class="ttname"><a href="namespacefabgl.html">fabgl</a></div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00036">canvas.cpp:36</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a52cf5628da66f95d0ef2448bdfedf259_html_a52cf5628da66f95d0ef2448bdfedf259"><div class="ttname"><a href="classfabgl_1_1_canvas_a52cf5628da66f95d0ef2448bdfedf259.html#a52cf5628da66f95d0ef2448bdfedf259">fabgl::Canvas::drawGlyph</a></div><div class="ttdeci">void drawGlyph(int X, int Y, int width, int height, uint8_t const *data, int index=0)</div><div class="ttdoc">Draws a glyph at specified position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00340">canvas.cpp:340</a></div></div>
<div class="ttc" id="unionfabgl_1_1_glyph_options_html"><div class="ttname"><a href="unionfabgl_1_1_glyph_options.html">fabgl::GlyphOptions</a></div><div class="ttdoc">Specifies various glyph painting options. </div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00343">displaycontroller.h:343</a></div></div>
<div class="ttc" id="structfabgl_1_1_rect_html"><div class="ttname"><a href="structfabgl_1_1_rect.html">fabgl::Rect</a></div><div class="ttdoc">Represents a rectangle. </div><div class="ttdef"><b>Definition:</b> <a href="fabutils_8h_source.html#l00225">fabutils.h:225</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_af9e6a083d810f5ac805cd6ae8e077756_html_af9e6a083d810f5ac805cd6ae8e077756"><div class="ttname"><a href="classfabgl_1_1_canvas_af9e6a083d810f5ac805cd6ae8e077756.html#af9e6a083d810f5ac805cd6ae8e077756">fabgl::Canvas::setLineEnds</a></div><div class="ttdeci">void setLineEnds(LineEnds value)</div><div class="ttdoc">Sets line ends shape. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00229">canvas.cpp:229</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a160b74fb568b7c9ee88db25098f7442d_html_a160b74fb568b7c9ee88db25098f7442d"><div class="ttname"><a href="classfabgl_1_1_canvas_a160b74fb568b7c9ee88db25098f7442d.html#a160b74fb568b7c9ee88db25098f7442d">fabgl::Canvas::drawTextWithEllipsis</a></div><div class="ttdeci">void drawTextWithEllipsis(FontInfo const *fontInfo, int X, int Y, char const *text, int maxX)</div><div class="ttdoc">Draws a string at specified position. Add ellipses before truncation. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00430">canvas.cpp:430</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ace0e4720eb75f05b029c455982653ed2_html_ace0e4720eb75f05b029c455982653ed2"><div class="ttname"><a href="classfabgl_1_1_canvas_ace0e4720eb75f05b029c455982653ed2.html#ace0e4720eb75f05b029c455982653ed2">fabgl::Canvas::drawChar</a></div><div class="ttdeci">void drawChar(int X, int Y, char c)</div><div class="ttdoc">Draws a character at specified position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00395">canvas.cpp:395</a></div></div>
<div class="ttc" id="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57_html_aa6aba27bc1a89db9e350b50bbf881f57"><div class="ttname"><a href="displaycontroller_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a></div><div class="ttdeci">int16_t X</div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00320">displaycontroller.h:320</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_afb0580e2870f3afd9ae1b1300b1c8e9a_html_afb0580e2870f3afd9ae1b1300b1c8e9a"><div class="ttname"><a href="classfabgl_1_1_canvas_afb0580e2870f3afd9ae1b1300b1c8e9a.html#afb0580e2870f3afd9ae1b1300b1c8e9a">fabgl::Canvas::beginUpdate</a></div><div class="ttdeci">void beginUpdate()</div><div class="ttdoc">Suspends drawings. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00097">canvas.cpp:97</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a0c8606755ffb5321f7bfc7e5867d605f_html_a0c8606755ffb5321f7bfc7e5867d605f"><div class="ttname"><a href="classfabgl_1_1_canvas_a0c8606755ffb5321f7bfc7e5867d605f.html#a0c8606755ffb5321f7bfc7e5867d605f">fabgl::Canvas::setScrollingRegion</a></div><div class="ttdeci">void setScrollingRegion(int X1, int Y1, int X2, int Y2)</div><div class="ttdoc">Defines the scrolling region. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00145">canvas.cpp:145</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ac8bb3912a3ce86b15842e79d0b421204_html_ac8bb3912a3ce86b15842e79d0b421204"><div class="ttname"><a href="classfabgl_1_1_canvas_ac8bb3912a3ce86b15842e79d0b421204.html#ac8bb3912a3ce86b15842e79d0b421204">fabgl::Canvas::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdoc">Fills the entire canvas with the brush color. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00109">canvas.cpp:109</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_adfb8897a6be8008318aa02ab10f407f5_html_adfb8897a6be8008318aa02ab10f407f5"><div class="ttname"><a href="classfabgl_1_1_canvas_adfb8897a6be8008318aa02ab10f407f5.html#adfb8897a6be8008318aa02ab10f407f5">fabgl::Canvas::setGlyphOptions</a></div><div class="ttdeci">void setGlyphOptions(GlyphOptions options)</div><div class="ttdoc">Sets drawing options for the next glyphs. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00358">canvas.cpp:358</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ab2ef33259e2223e00963fa402c02b064_html_ab2ef33259e2223e00963fa402c02b064"><div class="ttname"><a href="classfabgl_1_1_canvas_ab2ef33259e2223e00963fa402c02b064.html#ab2ef33259e2223e00963fa402c02b064">fabgl::Canvas::drawLine</a></div><div class="ttdeci">void drawLine(int X1, int Y1, int X2, int Y2)</div><div class="ttdoc">Draws a line specifying initial and ending coordinates. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00256">canvas.cpp:256</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a96a5b38870af14b17892861338f5d069_html_a96a5b38870af14b17892861338f5d069"><div class="ttname"><a href="classfabgl_1_1_canvas_a96a5b38870af14b17892861338f5d069.html#a96a5b38870af14b17892861338f5d069">fabgl::Canvas::getOrigin</a></div><div class="ttdeci">Point getOrigin()</div><div class="ttdoc">Gets last origin set using setOrigin(). </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8h_source.html#l00146">canvas.h:146</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a37ccab1d5906bc2facb56457e89ee0bc_html_a37ccab1d5906bc2facb56457e89ee0bc"><div class="ttname"><a href="classfabgl_1_1_canvas_a37ccab1d5906bc2facb56457e89ee0bc.html#a37ccab1d5906bc2facb56457e89ee0bc">fabgl::Canvas::drawEllipse</a></div><div class="ttdeci">void drawEllipse(int X, int Y, int width, int height)</div><div class="ttdoc">Draws an ellipse specifying center and size, using current pen color. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00330">canvas.cpp:330</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ac130486f79bd6cefa1bd8f33c5e5cbed_html_ac130486f79bd6cefa1bd8f33c5e5cbed"><div class="ttname"><a href="classfabgl_1_1_canvas_ac130486f79bd6cefa1bd8f33c5e5cbed.html#ac130486f79bd6cefa1bd8f33c5e5cbed">fabgl::Canvas::setPenColor</a></div><div class="ttdeci">void setPenColor(uint8_t red, uint8_t green, uint8_t blue)</div><div class="ttdoc">Sets pen (foreground) color specifying color components. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00193">canvas.cpp:193</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a7a927cc681ff0c452115e08196dd17c5_html_a7a927cc681ff0c452115e08196dd17c5"><div class="ttname"><a href="classfabgl_1_1_canvas_a7a927cc681ff0c452115e08196dd17c5.html#a7a927cc681ff0c452115e08196dd17c5">fabgl::Canvas::drawPath</a></div><div class="ttdeci">void drawPath(Point const *points, int pointsCount)</div><div class="ttdoc">Draws a sequence of lines. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00521">canvas.cpp:521</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ad38389073d9198667e74e79bb7f6dba3_html_ad38389073d9198667e74e79bb7f6dba3"><div class="ttname"><a href="classfabgl_1_1_canvas_ad38389073d9198667e74e79bb7f6dba3.html#ad38389073d9198667e74e79bb7f6dba3">fabgl::Canvas::drawText</a></div><div class="ttdeci">void drawText(int X, int Y, char const *text, bool wrap=false)</div><div class="ttdoc">Draws a string at specified position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00401">canvas.cpp:401</a></div></div>
<div class="ttc" id="displaycontroller_8h_adcf201a8aabf55cb352ec05331242594_html_adcf201a8aabf55cb352ec05331242594"><div class="ttname"><a href="displaycontroller_8h_adcf201a8aabf55cb352ec05331242594.html#adcf201a8aabf55cb352ec05331242594">height</a></div><div class="ttdeci">uint8_t height</div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00323">displaycontroller.h:323</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_aa3c3450751dc207a03b0f7f7704964ce_html_aa3c3450751dc207a03b0f7f7704964ce"><div class="ttname"><a href="classfabgl_1_1_canvas_aa3c3450751dc207a03b0f7f7704964ce.html#aa3c3450751dc207a03b0f7f7704964ce">fabgl::Canvas::invertRectangle</a></div><div class="ttdeci">void invertRectangle(int X1, int Y1, int X2, int Y2)</div><div class="ttdoc">Inverts a rectangle. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00296">canvas.cpp:296</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a3192f783a37fbc936429e81e829ac61e_html_a3192f783a37fbc936429e81e829ac61e"><div class="ttname"><a href="classfabgl_1_1_canvas_a3192f783a37fbc936429e81e829ac61e.html#a3192f783a37fbc936429e81e829ac61e">fabgl::Canvas::setPixel</a></div><div class="ttdeci">void setPixel(int X, int Y)</div><div class="ttdoc">Fills a single pixel with the pen color. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00154">canvas.cpp:154</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a43079b89e73581496cdf7623d1fb48c2_html_a43079b89e73581496cdf7623d1fb48c2"><div class="ttname"><a href="classfabgl_1_1_canvas_a43079b89e73581496cdf7623d1fb48c2.html#a43079b89e73581496cdf7623d1fb48c2">fabgl::Canvas::setPenWidth</a></div><div class="ttdeci">void setPenWidth(int value)</div><div class="ttdoc">Sets pen width for lines, rectangles and paths. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00220">canvas.cpp:220</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_af4ac807c623677aa49e67f413e1e6e23_html_af4ac807c623677aa49e67f413e1e6e23"><div class="ttname"><a href="classfabgl_1_1_canvas_af4ac807c623677aa49e67f413e1e6e23.html#af4ac807c623677aa49e67f413e1e6e23">fabgl::Canvas::fillPath</a></div><div class="ttdeci">void fillPath(Point const *points, int pointsCount)</div><div class="ttdoc">Fills the polygon enclosed in a sequence of lines. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00532">canvas.cpp:532</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a3ec8e84f102c8ca95207a531d803b945_html_a3ec8e84f102c8ca95207a531d803b945"><div class="ttname"><a href="classfabgl_1_1_canvas_a3ec8e84f102c8ca95207a531d803b945.html#a3ec8e84f102c8ca95207a531d803b945">fabgl::Canvas::setOrigin</a></div><div class="ttdeci">void setOrigin(int X, int Y)</div><div class="ttdoc">Sets the axes origin. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00052">canvas.cpp:52</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_ade8b482e1c154cafa15e6cce34cf4bd7_html_ade8b482e1c154cafa15e6cce34cf4bd7"><div class="ttname"><a href="classfabgl_1_1_canvas_ade8b482e1c154cafa15e6cce34cf4bd7.html#ade8b482e1c154cafa15e6cce34cf4bd7">fabgl::Canvas::moveTo</a></div><div class="ttdeci">void moveTo(int X, int Y)</div><div class="ttdoc">Moves current pen position to the spcified coordinates. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00178">canvas.cpp:178</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_acabff55d9d5166f90791a200ca929a1c_html_acabff55d9d5166f90791a200ca929a1c"><div class="ttname"><a href="classfabgl_1_1_canvas_acabff55d9d5166f90791a200ca929a1c.html#acabff55d9d5166f90791a200ca929a1c">fabgl::Canvas::resetPaintOptions</a></div><div class="ttdeci">void resetPaintOptions()</div><div class="ttdoc">Resets paint options. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00383">canvas.cpp:383</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_af6b9db28d9520b5fa9f41efad16ffd7c_html_af6b9db28d9520b5fa9f41efad16ffd7c"><div class="ttname"><a href="classfabgl_1_1_canvas_af6b9db28d9520b5fa9f41efad16ffd7c.html#af6b9db28d9520b5fa9f41efad16ffd7c">fabgl::Canvas::getFontInfo</a></div><div class="ttdeci">FontInfo const  * getFontInfo()</div><div class="ttdoc">Gets info about currently selected font. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8h_source.html#l00583">canvas.h:583</a></div></div>
<div class="ttc" id="structfabgl_1_1_paint_options_html"><div class="ttname"><a href="structfabgl_1_1_paint_options.html">fabgl::PaintOptions</a></div><div class="ttdoc">Specifies general paint options. </div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00594">displaycontroller.h:594</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a2feb78875ca185cbdfd65987f380ef15_html_a2feb78875ca185cbdfd65987f380ef15"><div class="ttname"><a href="classfabgl_1_1_canvas_a2feb78875ca185cbdfd65987f380ef15.html#a2feb78875ca185cbdfd65987f380ef15">fabgl::Canvas::copyRect</a></div><div class="ttdeci">void copyRect(int sourceX, int sourceY, int destX, int destY, int width, int height)</div><div class="ttdoc">Copies a screen rectangle to the specified position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00490">canvas.cpp:490</a></div></div>
<div class="ttc" id="displaycontroller_8h_a09a2a45f731b02946ff6d3cd15c1a476_html_a09a2a45f731b02946ff6d3cd15c1a476"><div class="ttname"><a href="displaycontroller_8h_a09a2a45f731b02946ff6d3cd15c1a476.html#a09a2a45f731b02946ff6d3cd15c1a476">width</a></div><div class="ttdeci">uint8_t width</div><div class="ttdef"><b>Definition:</b> <a href="displaycontroller_8h_source.html#l00322">displaycontroller.h:322</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a51745433bb792141ee5e66e9ff5a87e9_html_a51745433bb792141ee5e66e9ff5a87e9"><div class="ttname"><a href="classfabgl_1_1_canvas_a51745433bb792141ee5e66e9ff5a87e9.html#a51745433bb792141ee5e66e9ff5a87e9">fabgl::Canvas::drawRectangle</a></div><div class="ttdeci">void drawRectangle(int X1, int Y1, int X2, int Y2)</div><div class="ttdoc">Draws a rectangle using the current pen color. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00263">canvas.cpp:263</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_adda0fd465e10de29bbb2a9268999b75c_html_adda0fd465e10de29bbb2a9268999b75c"><div class="ttname"><a href="classfabgl_1_1_canvas_adda0fd465e10de29bbb2a9268999b75c.html#adda0fd465e10de29bbb2a9268999b75c">fabgl::Canvas::lineTo</a></div><div class="ttdeci">void lineTo(int X, int Y)</div><div class="ttdoc">Draws a line starting from current pen position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00247">canvas.cpp:247</a></div></div>
<div class="ttc" id="classfabgl_1_1_canvas_a3447e9b59b69ead99cf3735e1bd18c02_html_a3447e9b59b69ead99cf3735e1bd18c02"><div class="ttname"><a href="classfabgl_1_1_canvas_a3447e9b59b69ead99cf3735e1bd18c02.html#a3447e9b59b69ead99cf3735e1bd18c02">fabgl::Canvas::drawBitmap</a></div><div class="ttdeci">void drawBitmap(int X, int Y, Bitmap const *bitmap)</div><div class="ttdoc">Draws a bitmap at specified position. </div><div class="ttdef"><b>Definition:</b> <a href="canvas_8cpp_source.html#l00502">canvas.cpp:502</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="canvas_8h.html">canvas.h</a></li>
    <li class="footer">Generated on Mon Aug 2 2021 07:08:02 for FabGL by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>
